<?php
namespace app\traits;
/**
 * Created by PhpStorm.
 * User: yt
 * Date: 2017/2/25
 * Time: 9:15
 */
trait Response
{
    /**
     * 操作成功返回
     * @param array $data
     * @param string $msg
     * @return string
     */
    protected function ajaxSuccess($data=array(), $msg = 'success', $is_response = true){
        return $this->ajaxJson($msg, 200, $data, $is_response);
    }

    /**
     * 操作失败返回
     * @param string $msg
     * @param int $code
     * @param array $data
     * @return string
     */
    protected function ajaxError($msg='error', $code=300, $data= array(), $is_response = true){
        return $this->ajaxJson($msg, $code, $data, $is_response);
    }

    /**
     * 返回json格式
     * 所有结果代码均返回200状态
     * @param $msg
     * @param $code
     * @param array $data
     * @param $is_response 是否返回yii响应输出
     * @return string
     */
    protected function ajaxJson($msg, $code, $data= array(), $is_response = true){
        if($is_response){
            $response = \Yii::$app->response;
            $response->statusCode = 200;
            $response->format = \yii\web\Response::FORMAT_JSON;
            $response->data = [
                'code'=>$code,
                'msg'=>$msg,
                'data'=>$data
            ];
            return $response;
        }else{
            $data = [
                'code'=>$code,
                'msg'=>$msg,
                'data'=>$data
            ];
            return json_encode($data);
        }
    }

}